Due to the inevitable presence of noise, communications systems must be capable of handling transmission errors. Retransmission is generally used to achieve a reliable communication but it also increases the load in the network and reduces the network throughput, especially when the number of acknowledgements is comparable to that of the data cells. The various acknowledgement protocols have been implemented in the past to enable the detection of transmission errors. A brief description of the prior art acknowledgement techniques is provided below.
Negative acknowledgment: Negative acknowledgement refers to a protocol that requires the receiver unit of the communication system to signal the sender unit that cells are missing in order to trigger a retransmission. No communication system can be built based on negative acknowledgement only as there will be no way for the sender unit to know that the cells sent are received and also there is no mechanism to flush the contents of the sending a window. A possible implementation of a window mechanism, either at the sender unit or at the receiver unit, could be in the form of a simple buffer that temporarily holds the cells while a decision mechanism determines how the cells are to be processed (either flushed or passed to another device, etc.)
Positive acknowledgement: Positive acknowledgement refers to a protocol that requires the receiver unit of the communication system to signal the sender unit that cells are received. Retransmission is triggered when a message acknowledging reception of a certain cell is missing, For error free links, the number of positive acknowledgement messages equals the number of data cells. This constitutes a significant waste of the available bandwidth. For high bandwidth utilization the sender unit is required to implement a window mechanism to store cells which have not been acknowledged. The hardware implementation for the window mechanism is not easy in the high speed environments as the size of the window should be large enough to store cells that may be received while the receiver unit is waiting for a particular cell to be transmitted. This is required in order to maintain the order of the cells in the data stream.
Positive and negative acknowledgement: the selective repeat protocol is an example of this method that relies on having positive and negative acknowledgement messages. This method requires implementing a window mechanism in both the sender and receiver units. If positive and negative acknowledgement are used without some sort of window mechanism at the receiver side, more than one negative acknowledgement messages may be sent for a lost cell. The receiver unit sends an acknowledgement for the first out of sequence cell. Before the sender unit receives this negative acknowledgement and resends the lost cell, it may already have sent many cells.
Thus, there exists in the industry a need to provide an improved transmission protocol that is capable to detect error transmissions while, at the same time, permitting to reduce the number of acknowledgement messages in the data link.